/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.adsi.graficos;

import com.adsi.logica.LogicaClientesLocal;
import com.adsi.logica.LogicaCuentasLocal;
import com.adsi.modelo.Clientes;
import com.adsi.modelo.Cuentas;
import com.adsi.vista.ClientesVista;
import java.io.Serializable;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import org.primefaces.model.chart.PieChartModel;

/**
 *
 * @author Estudiante
 */
@ManagedBean(name = "LiveVista")
@RequestScoped
public class LiveGraficoVista implements Serializable {

    @EJB
    private LogicaCuentasLocal logicaCuenta;

    private PieChartModel liveGrafico;

    public LiveGraficoVista() {
    }

    public LogicaCuentasLocal getLogicaCuenta() {
        return logicaCuenta;
    }

    public void setLogicaCuenta(LogicaCuentasLocal logicaCuenta) {
        this.logicaCuenta = logicaCuenta;
    }

    public PieChartModel getLiveGrafico() {
        return liveGrafico;
    }

    public void setLiveGrafico(PieChartModel liveGrafico) {
        this.liveGrafico = liveGrafico;
    }

   
    public PieChartModel getLivePieModel() {
        try {
            liveGrafico = new PieChartModel();
            List<Cuentas> listacuenta = null;
            listacuenta = logicaCuenta.consultar();
        
            for (int i = 0; i < listacuenta.size(); i++) {
                liveGrafico.getData().put(listacuenta.get(i).getCliCedula().getCliNombre(), listacuenta.get(i).getCueSaldo().intValue());
           }
            liveGrafico.setTitle("Cuentas");
            liveGrafico.setLegendPosition("e");
            liveGrafico.setShowDataLabels(true);
            liveGrafico.setFill(true);
        } catch (Exception ex) {
            Logger.getLogger(ClientesVista.class.getName()).log(Level.SEVERE, null, ex);
        }
        return liveGrafico;
    }

}
